1. Field of the Invention
The present invention relates generally to cryptographic systems, and more particularly to a system and method for generating an authentic cryptographic group signature.
2. Description of the Prior Art
The application of a signature to a document may serve to indicate that the document originates from the signer, or to show that the signer somehow endorses the information to communicated by the document. In the context of business, signatures are customarily applied to documents for the purpose of forming contracts and executing financial transactions. In government, a properly signed document may serve to ratify a law or a government action.
With the advent of computer networking, electronic documents have been gradually replacing paper documents. Validating the authenticity of electronic documents is a problem that has been addressed by digital signatures A digital signature of a message is a number which is the result of a calculation dependent on some secret known only to the signer, and also on the content of the message being signed. A signature must be verifiable. If a dispute arises as to whether a party signed a message, an unbiased third party should be able to resolve the matter without requiring access to the signer's secret information.
Digital signatures may be created and verified by cryptography. Digital signatures commonly use public key cryptography, which employs an algorithm using two different but mathematically related keys; one for creating a digital signature or encoding data, and another key for verifying a digital signature or decoding the message. Computer equipment and software utilizing this method are commonly known as asymmetric cryptosystems.
The keys of an asymmetric cryptosystem are commonly referred to as the private key, known only to the signer and used to create the digital signature, and the public key which is used to verify the digital signature. If many people need to verify a signer's digital signature, the associated public key must be available. A public key may be published or held in an on-line repository or directory where it is easily accessible. Although the public and private keys are mathematically related, it is extraordinarily difficult to derive the private key from knowledge of the public key. Thus, although people may know the public key of a given entity and use it to verify that entity's signatures, they cannot discover the private key and use it to forge digital signatures. This is sometimes referred to as the principle of irreversibility.
Hash functions are commonly used in software for creating and verifying digital signatures. A hash function is an algorithm used to create a digital representation in the form of a hash value or hash result of a standard length which is usually much smaller than the message. Any change to the message produces a different hash result when the same hash function is used. In the case of a secure hash function, sometimes termed a one-way hash function, it is computationally infeasible to derive the original message from knowledge of its hash value.
Use of a digital signature usually involves two processes, one performed by the signer and the other by the receiver of the digital signature. Creation of a digital signature usually includes deriving a hash value of the message to be signed and then performing a mathematical operation on that value using the private key. Typically, the digital signature is attached to the corresponding message and transmitted to a second party. Verification of the digital signature is accomplished by computing a new hash result of the original message using the same hash function that was used to create the digital signature. Using the public key to invert the received signature, and then comparing that with the new hash result, a verifier may check: whether the digital signature was created using the corresponding private key; and whether the newly computed hash result matches the original hash result which was transformed into the digital signature during the signing process. Verification software typically confirms the digital signature as verified if: the signer's private key was used to digitally sign the message, which is determined to be the case if the signer's public key is used to verify because the signer's public key will only verify a digital signature created with the signer's private key; and the message was unaltered, which is found to be the case if the hash result computed by the verifier is identical to the hash result extracted from the digital signature during the verification process.
The use of digital signatures has already proven to be a reliable and secure means of authenticating digital messages. However, the applicants of the present patent application have observed that conventional asymmetric cryptosystems do not provide a means for generating group digital signatures where a document must be signed by more than one person.
Corporations, government bodies, and other organizations often institute policies that require more than one authorized individual to endorse a certain type of decision before the organization may act as a whole. To approve a decision made on behalf of an organization, it is a necessary and common practice to prepare a document that must be signed by more than one individual. For example, a corporation may require that a purchase order for goods or services exceeding a certain amount must be signed by a requesting employee, a manager, and finally a vice president. This purchase order would bear the name of the corporation, and would explain that the purchase order is only valid if it bears all of the required signatures.
What is needed is a secure system and method for generating a group digital signature wherein each of a group of individuals may sign a message M to create a group digital signature.